﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuanLyThietBi.DAL.Models;
using QuanLyThietBi.DAL;

namespace QuanLyThietBi.BLL
{
    public class NhanVienBO
    {
        public List<NHANVIEN> GetAllNhanVien()
        {
            NhanVienDAO tbDAO = new NhanVienDAO();
            return tbDAO.GetAllNhanVien();
        }

        public string GetTenNhanVien(int idthietbi)
        {
            string tennhanvien = string.Empty;
            //Get ra nhan vien thiet bi 
            NhanVienThietBiDAO nvtbDAO = new NhanVienThietBiDAO();
            
            var nhanvientb = nvtbDAO.GetNhanVienThietBi(idthietbi);

            //kiem tra nhan vien thiet bi co null hay ko 
            if (nhanvientb != null)
            {
                NhanVienDAO nvDao = new NhanVienDAO();
                // nhanvientb.nhan_vien tra ra cai nhan vien ID
                var nv = nvDao.GetNhanVienByID(nhanvientb.nhan_vien);
                if (nv != null) 
                {
                    tennhanvien = nv.ten_day_du;
                }
            }
            return tennhanvien;
        }

        //lấy ra danh sách nhân viên theo phòng ban
        public List<NHANVIEN> GetNhanVienByPhongBan(int phongBanId)
        {
            NhanVienDAO nvDAO = new NhanVienDAO();
            return nvDAO.GetNhanVienByPhongBan(phongBanId);
        }

        public NHANVIEN GetNhanVien(int thietbiId)
        {
            NHANVIEN nhanvien = null;
            //Get ra nhan vien thiet bi 
            NhanVienThietBiDAO nvtbDAO = new NhanVienThietBiDAO();

            var nhanvientb = nvtbDAO.GetNhanVienThietBi(thietbiId);

            //kiem tra nhan vien thiet bi co null hay ko 
            if (nhanvientb != null)
            {
                NhanVienDAO nvDao = new NhanVienDAO();
                // nhanvientb.nhan_vien tra ra cai nhan vien ID
                var nv = nvDao.GetNhanVienByID(nhanvientb.nhan_vien);
                if (nv != null)
                {
                    nhanvien = nv;
                }
            }
            return nhanvien;
        }

        public int SaveNhanVien(NHANVIEN nv)
        {
            NhanVienDAO nvDAO = new NhanVienDAO();
            return nvDAO.SaveNhanVien(nv);
        }

        public NHANVIEN GetNhanVienById(int nhanvienId)
        {
            NhanVienDAO nvDAO = new NhanVienDAO();
            return nvDAO.GetNhanVienByID(nhanvienId);
        }

        public int UpdateNhanVien(NHANVIEN nv)
        {
            NhanVienDAO nvDAO = new NhanVienDAO();
            return nvDAO.UpdateNhanVien(nv);
        }

        public List<NHANVIEN> SearchNhanVien(string tennhanvien)
        {
            NhanVienDAO nvDAO = new NhanVienDAO();
            return nvDAO.GetNhanVienForSearch(tennhanvien);
        }
    }
}
